<?php

namespace UFSW\DataBaseBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;

/**
 * Invitacion
 *
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="UFSW\DataBaseBundle\Entity\InvitacionRepository")
 */
class Invitacion
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @ORM\OneToOne(targetEntity="UFSW\DataBaseBundle\Entity\Torneo")
     * @ORM\JoinColumn(name="torneo_id", referencedColumnName="id", nullable = false) 
     */
    private $torneo;

    /**
     * @var string
     *
     * @ORM\Column(name="descripcion", type="string", length=500, nullable = true)
     */
    private $descripcion;

    /**
     * @var string
     *
     * @ORM\Column(name="titulo", type="string", length=255, nullable = false)
     */
    private $titulo;

    /**
     * @var string
     *
     * @ORM\Column(name="resp_confirmacion", type="string", length=500, nullable = true)
     */
    private $respuestaConfirmacion;
    
    /**
     * @var boolean
     *
     * @ORM\Column(name="link", type="boolean", nullable = true)
     */
    private $mostrarLink;
    
    /**
     * @ORM\OneToMany(targetEntity="UFSW\DataBaseBundle\Entity\Labels", mappedBy="formularioInvitacion")
     */
    private $labels;

    public function __construct()
    {
        $this->labels = new ArrayCollection();
    }


    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set torneo
     *
     * @param $torneo
     * @return Invitacion
     */
    public function setTorneo(Torneo $torneo)
    {
        $this->torneo = $torneo;

        return $this;
    }

    /**
     * Get torneo
     *
     * @return Torneo 
     */
    public function getTorneo()
    {
        return $this->torneo;
    }

    /**
     * Set descripcion
     *
     * @param string $descripcion
     * @return Invitacion
     */
    public function setDescripcion($descripcion)
    {
        $this->descripcion = $descripcion;

        return $this;
    }

    /**
     * Get descripcion
     *
     * @return string 
     */
    public function getDescripcion()
    {
        return $this->descripcion;
    }

    /**
     * Set titulo
     *
     * @param string $titulo
     * @return Invitacion
     */
    public function setTitulo($titulo)
    {
        $this->titulo = $titulo;

        return $this;
    }

    /**
     * Get titulo
     *
     * @return string 
     */
    public function getTitulo()
    {
        return $this->titulo;
    }

    /**
     * Set respuestaConfirmacion
     *
     * @param string $respuesta
     * @return Invitacion
     */
    public function setRespuestaConfirmacion($respuesta)
    {
        $this->respuestaConfirmacion = $respuesta;

        return $this;
    }

    /**
     * Get respuestaConfirmacion
     *
     * @return string 
     */
    public function getRespuestaConfirmacion()
    {
        return $this->respuestaConfirmacion;
    }
    
    /**
     * Set labels
     *
     * @param string $labels
     * @return Invitacion
     */
    public function setLabels($labels)
    {
        $this->labels = $labels;

        return $this;
    }

    /**
     * Get labels
     *
     * @return string 
     */
    public function getLabels()
    {
        return $this->labels;
    }
    
    /**
     * Add labels
     *
     */
    public function addLabel(Labels $label)
    {
    
    	$this->labels->add($label);
    }
    
    /**
     * Remove labels
     *
     */
    public function removeLabel(Labels $label)
    {
    	$this->labels->removeElement($label);
    }
    
    /**
     * Set mostrarLink
     *
     * @param boolean $valor
     * @return Labels
     */
    public function setMostrarLink($valor)
    {
        $this->mostrarLink = $valor;

        return $this;
    }

    /**
     * Get mostrarLink
     *
     * @return boolean 
     */
    public function getMostrarLink()
    {
        return $this->mostrarLink;
    }
}
